<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //从第一个元素开始，每个元素依次与之后的每一个元素进行比较，保存最小的数的序号，然后交换位置
        //时间复杂度：O(n^2) 空间复杂度：O(1) 
        //稳定性：选择排序是不稳定的排序算法，因为无法保证值相等的元素的相对位置不变
        function selectionSort(arr) {
            let length = arr.length;
            for (let i = 0; i < length - 1; i++) {
                let indexMIn = i;
                for (let j = i; j < length; j++) {
                    if (arr[j] < arr[indexMIn]) {
                        indexMIn = j;
                    }
                }
                [arr[i], arr[indexMIn]] = [arr[indexMIn], arr[i]];
                // const temp = arr[i];
                // arr[i] = arr[indexMIn];
                // arr[indexMIn] = temp;
            }
            return arr;
        }
        const arr = [6, 5, 4, 3, 2, 1];
        console.log(selectionSort(arr));

        alert(arr);

    </script>
</body>

</html>